
package at.fhj.itm.metadata.impl;

import at.fhj.itm.metadata.Column;
import at.fhj.itm.metadata.Constraint;
import at.fhj.itm.metadata.Index;
import at.fhj.itm.metadata.MetadataItem;
import at.fhj.itm.metadata.Table;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Seuchter
 */
public abstract class AbstractTable  extends AbstractMetadataItem
        implements Table
{


	

    public AbstractTable(String name)
    {
       super(name);
    }

    public abstract  List<? extends  Column> getColumns();
    public abstract List<? extends  Index> getIndices();
    public abstract List<? extends Constraint> getConstraints();
    public List<? extends MetadataItem> getChildren()
    {

        List<MetadataItem> children = new ArrayList<MetadataItem>();
        children.addAll(getColumns());
        children.addAll(getIndices());
        children.addAll(getConstraints());
        return children;
    }
    




}
